Multiprotocol Label Switching (MPLS) enables efficient delivery of a wide variety of differentiated, end-to-end services. The Internet Engineering Task Force (IETF) describes architecture for Multiprotocol Label Switching (MPLS) in its Request for Comment (RFC) document denoted as RFC 3031, and entitled “Multiprotocol Label Switching Architecture.” A number of related IETF documents define additional functionality/requirements associated with MPLS networks and network elements.
A Label Switched Path (LSP) is a sequence of LSRs that participates in Label Switching for a Forwarding Equivalence Class (FEC). All packets belonging to the FEC flow across the LSP from a head- and/or ingress Label Edge Router (LER) to an egress LER, being forwarded at each intermediate LSR in accordance with a local Label Forwarding Information Base (LFIB).
A fundamental concept in MPLS is that two Label Switching Routers (LSRs) must agree on the meaning of the labels used to forward traffic between and through them. This common understanding is achieved via a set of procedures for signaling between LSRs, called a label distribution protocol, by which one LSR informs another of label bindings it has made; that is, the label it has assigned to packets associated with a particular FEC. Signaling mechanisms may comprise Label Distribution Protocol (LDP) which is described in more detail in IETF RFC 5036, Resource Reservation Protocol-Traffic Engineering (RSVP-TE), which is described in more detail in IETF RFC 3209, and Multiprotocol Extensions for Border Gateway Protocol (MP-BGP) which is described in more detail in IETF RFC 2858. The label distribution protocols reside in the MPLS control plane and create an LIB (Label Information Base) at each participating LSR.
In Downstream Label Assignment, the decision to bind a particular label L to a particular FEC is made by an LSR (Rd) which is downstream (i.e., a potential next-hop) with respect to that binding. The downstream LSR (Rd) informs the upstream LSR (Ru) of the binding by distributing or advertising label bindings in the “downstream to upstream” (Rd→Ru) direction. The upstream LSR (Ru) forwards packets of a particular FEC to downstream LSR (Rd) in accordance with the label assigned to that FEC by the downstream LSR (Rd).
In Upstream Label Assignment, the decision to bind a particular label L to a particular FEC F is made by the LSR Ru which is upstream with respect to that binding.
It is important to keep the control plane LIB synchronized with the data plane LFIB between peering LSRs to avoid a label over-lapping occurrence in the LFIB of a downstream LSR. For example, a Label Mapping Message is used to advertise a binding to a peering LSR (e.g., downstream assigned label L1 distributed by Rd to Ru for FEC F1). Similarly, a Label Withdraw Message is used to withdraw a binding by Rd previously advertised to Ru. In response to a Label Withdraw message from Rd for L1→F1 binding, Ru sends a back Label Release message as an acknowledgement that Ru has deprogrammed the Label L1 from its data plane, such as from a Next Hop Label Forwarding Entry (NHLFE) within the Ru Label Forwarding Information Base (LFIB).
However, if Rd redistributes the same label L1 for another FEC F2 without Ru confirming release of the label L1 then Rd may be still receiving packets from Ru with label L1 for FEC F1 but instead would switch/interpret as packet for F2. This is termed as “label over-lapping” or “ILM over-lapping” in LFIB which is a severe security violation issue in an MPLS encapsulated payload. MPLS is a fundamental technology used to enable VPN (Virtual Private Network) and other technologies. Due to label over-lapping between two VPNs, the traffic belonging to one VPN gets forwarded to another VPN.
Unfortunately, acknowledgment based methods such as Label Release are either unreliable or simply do not exist in some label distribution protocols (e.g., RSVP-TE, MP-BGP). As a result, these label distribution protocols are especially susceptible to improper synchronization between control plane LIB and data plane LFIB at one or more LSRs.